PostgreSQL 安全管理 passworkcheck

1 背景知识

passwordcheck 插件,能够防止用户使用简单密码。以下是这个插件的功能。
1、密码必须包含字母和数字。
2、密码不能包含用户名。
3、密码默认长度为8位。

2 安装passwordcheck 插件

2.1 进入扩展程序源码目录

cd /soft/postgresql-12.9/contrib
make
make install 

2.2 配置数据库加载扩展程序

vi $PGDATA/postgresql.conf
-------------最下面添加-------------
shared_preload_libraries = 'passwordcheck'      # (change requires restart)

3 验证程序

3.1 删除用户

DROP USER user01;
//屏幕输出:
DROP 

3.2 长度不够

CREATE USER user01 password '1234567';
//屏幕输出:
ERROR:  password is too short

3.3 必须包含字母和数字

CREATE USER user01 password '12345678';
//屏幕输出:
ERROR:  password must contain both letters and nonletters

3.4 必须包含字母和数字

postgres=# CREATE USER user01 password 'postgres';
//屏幕输出:
ERROR:  password must contain both letters and nonletters

3.5 不能包含用户名

postgres=# CREATE USER user01 password '123456user01';
//屏幕输出:
ERROR:  password must not contain user name

3.6 创建成功

postgres=# CREATE USER user01 password 'postgres123';
CREATE ROLE

PostgreSQL passworkcheck 扩展创建失败
PostgreSQL passworkcheck 绕过安全检查